package com.finalterm.payment.service;

import com.finalterm.payment.dto.PaymentExecuteDTO;
import com.finalterm.payment.vo.PaymentVO;

import java.util.List;

/**
 * 支付服务接口
 */
public interface PaymentService {
    
    /**
     * 执行支付
     */
    PaymentVO executePayment(Long userId, PaymentExecuteDTO executeDTO);
    
    /**
     * 查询支付记录
     */
    PaymentVO getPaymentByOrderNo(String orderNo);
    
    /**
     * 查询用户支付记录
     */
    List<PaymentVO> getUserPayments(Long userId);
    
    /**
     * 支付回调处理
     */
    boolean handlePaymentCallback(String paymentNo, String thirdPartyTransactionId, Integer status);
}
